Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Примечание. ShaderLabязык Unity для определения структуры объектов Shader. Подробнее
See in Словарь
на этой странице является устаревшей и задокументирован только для обратной совместимости. Если ваш шейдерПрограмма, работающая на графическом процессоре. Подробнее
См. в Словарь
исходный файл включает код HLSL, Unity полностью игнорирует эти команды. Если исходный файл шейдера не включает код HLSL, Unity компилирует эти команды в обычные программы шейдера при импорте.

Совместимость конвейера рендеринга

Название функции Встроенный конвейер рендеринга Универсальный конвейер рендеринга (URP) Конвейер рендеринга высокого разрешения (HDRP) Пользовательский SRP
Legacy lighting Да Нет Нет Нет

Обзор

Параметры материала и освещения используются для управления встроенным освещением вершин. Освещение вершин — это стандартная модель освещения Direct3D/OpenGL, которая вычисляется для каждой вершины. Подсветка включена включает его. На освещение влияет МатериалАктив, определяющий способ визуализации поверхности. Подробнее
См. в блоке Словарь
, ColorMaterial и Отдельное отражение команд.

Окрашивание и освещение вершин — это первый эффект, вычисляемый для любой визуализируемой геометрии. Он работает на уровне вершин и вычисляет базовый цвет, который используется перед применением текстур.

Синтаксис

Команды верхнего уровня определяют, использовать ли фиксированное функциональное освещение или нет, а также некоторые параметры конфигурации. Основная настройка находится в блоке Материал, подробно описанном ниже.

Цвет

Color color

Задает для объекта сплошной цвет. Цвет представляет собой либо четыре значения RGBA в скобках, либо имя свойства цвета в квадратных скобках.

Материал

Material {Material Block}

Блок материала используется для определения свойств материала объекта.

Освещение

Lighting On | Off

Чтобы настройки, заданные в блоке «Материал», действовали, необходимо включить «Подсветку» с помощью команды Подсветка включена. Если вместо этого освещение выключено, цвет берется прямо из команды Color.

Отдельное отражение

SeparateSpecular On | Off

Эта команда добавляет зеркальное освещение в конец прохода шейдера, поэтому текстурирование не влияет на зеркальное освещение. Действует только при использовании Подсветка включена.

Материал цвета

ColorMaterial AmbientAndDiffuse | Emission

Заставляет использовать цвет каждой вершины вместо цветов, заданных в материале. AmbientAndDiffuse заменяет значения Ambient и Diffuse материала; Эмиссия заменяет значение эмиссии материала.

Материальный блок

Здесь содержатся настройки реакции материала на свет. Любое из этих свойств можно не указывать, и в этом случае по умолчанию они будут черными (т. е. не будут иметь никакого эффекта).

Рассеянный цвет. Компонент рассеянного цвета. Это основной цвет объекта.

Цвет окружающей среды: компонент цвета окружающей среды. Это цвет объекта, когда на него падает окружающий светСвет, который не исходит ни с какого определенного направления и способствует равномерный свет во всех направлениях сцены. Подробнее
См. в Словаре
наборе в Окно освещения.

Цвет отраженияЦвет отражения.
См. в Словарь
:
цвет бликов объекта.

Количество блеска: резкость блика, от 0 до 1. При 0 вы получаете огромный блик, очень похожий на рассеянное освещение, при 1 вы получаете крошечное пятнышко.

Цвет излучения: цвет объекта, когда на него не падает свет.

Полный цвет света, падающего на объект:

Ambient * Настройка интенсивности окружающего освещения + (Светлый цвет * Рассеянный + Светлый цвет * Отражение) + Излучение

Световые части уравнения (в скобках) повторяются для всех источников света, попадающих на объект.

Обычно вы хотите, чтобы цвета Diffuse и Ambient были одинаковыми (все встроенные шейдеры делают это).

Примеры

Всегда отображать объект в чистом красном цвете:

Shader "Solid Red" { SubShader { Pass { Color (1,0,0,0) } } }

Базовый шейдер, который окрашивает объект в белый цвет и применяет вершинное освещение:

Shader "VertexLit White" { SubShader { Pass { Material { Diffuse (1,1,1,1) Ambient (1,1,1,1) } Lighting On } } }

Расширенная версия, добавляющая цвет материала в качестве свойства, видимого в Инспекторе материаловОкно Unity, в котором отображается информация о выбранном в данный момент GameObject, активы или настройки проекта, позволяющие просматривать и редактировать значения. Дополнительная информация
См. в Словарь
:

Shader "VertexLit Simple" { Properties { _Color ("Main Color", COLOR) = (1,1,1,1) } SubShader { Pass { Material { Diffuse [_Color] Ambient [_Color] } Lighting On } } }

И, наконец, полноценный шейдер с подсветкой вершин (см. также SetTexture справочную страницу):

Shader "VertexLit" { Properties { _Color ("Main Color", Color) = (1,1,1,0) _SpecColor ("Spec Color", Color) = (1,1,1,1) _Emission ("Emmisive Color", Color) = (0,0,0,0) _Shininess ("Shininess", Range (0.01, 1)) = 0.7 _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Pass { Material { Diffuse [_Color] Ambient [_Color] Shininess [_Shininess] Specular [_SpecColor] Emission [_Emission] } Lighting On SeparateSpecular On SetTexture [_MainTex] { Combine texture * primary DOUBLE, texture * primary } } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3